package cn.com.huzo.model.entities.inventory;

import huzofw.model.entities.BaseEntity;
import huzofw.model.entities.IAggregateRoot;
import java.io.Serializable;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 材料库存表实体类
 * <p>
 * @author 吴旭
 */
public class JitMaterialStockEntity extends BaseEntity implements Serializable, IAggregateRoot {

    private static final long serialVersionUID = 8136410913809077091L;
    private String LinesId;                 // 行标识
    private Long MaterialId;                // 材料
    private String MaterialName;            // 材料名
    private String MaterialCode;            // 料号
    private Long PoUomId;                   // 采购订单计量单位
    private Long MdpUomId;                  // 组料单计量单位
    private Long UomId;                     // 入库计量单位
    private String UomName;
    private String Specification;           // 规格
    private String SpecificationOfActual;   // 实到规格
    private String YarnCount;               // 纱支
    private Float FabricWidth;              // 幅宽
    private String GramWeight;              // 克重
    private String ColourCode;              // 材料色号
    private String ColourName;              // 材料颜色
    private Float Coefficient;              // 转换系数
    private Float Quantity;                 // 即时库存数量

    public String getLinesId() {
        return LinesId;
    }

    public void setLinesId(String LinesId) {
        this.LinesId = LinesId;
    }

    public Long getMaterialId() {
        return MaterialId;
    }

    public void setMaterialId(Long MaterialId) {
        this.MaterialId = MaterialId;
    }

    public String getMaterialName() {
        return MaterialName;
    }

    public void setMaterialName(String MaterialName) {
        this.MaterialName = MaterialName;
    }

    public String getMaterialCode() {
        return MaterialCode;
    }

    public void setMaterialCode(String MaterialCode) {
        this.MaterialCode = MaterialCode;
    }

    public Long getPoUomId() {
        return PoUomId;
    }

    public void setPoUomId(Long PoUomId) {
        this.PoUomId = PoUomId;
    }

    public Long getUomId() {
        return UomId;
    }

    public void setUomId(Long UomId) {
        this.UomId = UomId;
    }

    public String getUomName() {
        return UomName;
    }

    public void setUomName(String UomName) {
        this.UomName = UomName;
    }

    public Long getMdpUomId() {
        return MdpUomId;
    }

    public void setMdpUomId(Long MdpUomId) {
        this.MdpUomId = MdpUomId;
    }

    public String getSpecification() {
        return Specification;
    }

    public void setSpecification(String Specification) {
        this.Specification = Specification;
    }

    public String getSpecificationOfActual() {
        return SpecificationOfActual;
    }

    public void setSpecificationOfActual(String SpecificationOfActual) {
        this.SpecificationOfActual = SpecificationOfActual;
    }

    public String getYarnCount() {
        return YarnCount;
    }

    public void setYarnCount(String YarnCount) {
        this.YarnCount = YarnCount;
    }

    public Float getFabricWidth() {
        return FabricWidth;
    }

    public void setFabricWidth(Float FabricWidth) {
        this.FabricWidth = FabricWidth;
    }

    public String getGramWeight() {
        return GramWeight;
    }

    public void setGramWeight(String GramWeight) {
        this.GramWeight = GramWeight;
    }

    public String getColourCode() {
        return ColourCode;
    }

    public void setColourCode(String ColourCode) {
        this.ColourCode = ColourCode;
    }

    public String getColourName() {
        return ColourName;
    }

    public void setColourName(String ColourName) {
        this.ColourName = ColourName;
    }

    public Float getCoefficient() {
        return Coefficient;
    }

    public void setCoefficient(Float Coefficient) {
        this.Coefficient = Coefficient;
    }

    public Float getQuantity() {
        return Quantity;
    }

    public void setQuantity(Float Quantity) {
        this.Quantity = Quantity;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof JitMaterialStockEntity)) {
            return false;
        }

        final JitMaterialStockEntity that = (JitMaterialStockEntity) o;

        return new EqualsBuilder()
                .append(this.getLinesId(), that.getLinesId())
                .isEquals();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public int hashCode() {
        int result = 17;
        result = 31 * result + this.getLinesId().hashCode();

        return result;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
